﻿Ext.ns('suce.wf');

JS.include('wf/proceso.js');


suce.wf.historico = function (config) {

    return new Ext.Panel(Ext.apply({

        title: 'Historico',
        layout: 'border',

        initComponent: function () {
            var me = this,
                form,
                north;

            var linkParent = function () {
            };

            north = {
                region: 'north',
                height: 75,
                baseCls: 'x-plain',
                layout: {
                    type: 'hbox',
                    padding: '2',
                    align: 'stretch'
                },
                defaults: { headerPosition: 'bottom', border: false },
                items: [
                    {
                        xtype: 'buttongroup',
                        title: 'Filtros',
                        defaultType: '',
                        style: 'margin-left: 2px;',
                        items: [
                            form = new Ext.FormPanel({
                                bodyPadding: 2,
                                fieldDefaults: { labelWidth: 65, anchor: '100%' },
                                width: 800,
                                items: [
                                    HBOX([
                                        TEXT('numeorden', 'Orden', 20),
                                        TEXT('numesuce', 'Suce', 20),
                                        TEXT('numeexpediente', 'Expediente', 20),
                                        DATE('fechaini', 'Fecha Ini', { format: 'd/m/Y' })
                                    ]),
                                    HBOX([
                                        COMBO('estado', 'Estado', [['Observado', 'Observado'], ['En Evaluacion', 'En Evaluacion'], ['Sin Evaluar', 'Sin Evaluar'], ['Concluidos', 'Concluidos'], ['', '']]),
                                        TEXT('evaluador', 'Responsable', 20),
                                        DISPLAY('', ''),
                                        DATE('fechafin', 'Fecha Fin', { value: new Date(), format: 'd/m/Y' })
                                    ])
                                ],
                                keys: { key: 13, handler: me.reload, scope: me }
                            })
                        ]
                    }, {
                        xtype: 'buttongroup',
                        title: ' ',
                        defaultType: '',
                        style: 'margin-left: 2px;',
                        defaults: { scale: 'medium', iconAlign: 'top' },
                        items: [
                            BUTTON('Actualizar', me.reload, me, { iconCls: 'tb-docexchange24' })
                        ]
                    }, {
                        xtype: 'buttongroup',
                        title: 'Solicitud',
                        defaultType: '',
                        style: 'margin-left: 2px;',
                        defaults: { scale: 'medium', iconAlign: 'top' },
                        items: [
                            BUTTON('Ver Detalle', me.ver, me, { iconCls: 'tb-sended' }),
                            BUTTON('Ver Resumen', me.resumenSuce, me, { iconCls: 'tb-view' }),
                            BUTTON('Jerarquía', me.jerarquia, me, { iconCls: 'tb-jerarquia' })
                        ]
                    }
                ]
            };

            var storeList = STORE('wf.ashx', { C: 'HISTORICO', S: 'GETLIST' }, 'rownumber,idsolicitud,idflujo,idversion,idtipodoc,idprocesotipo,idactividad,fechregistro,docnumero,numorden,solicitante,desctarea,nombact,iddr,numesolicitud,numeexpediente,responsable,estado,snumorden, sdocnumero,codformato', { autoLoad: false, reader: 'json',
                beforeLoad: function (p) {
                    Ext.apply(p, me.form.getValues());
                }
            });

            me.gridHist = new Ext.grid.Panel({
                title: 'Historico',
                region: 'center',
                codigo: 'gridHist',
                store: storeList,
                columns: COLMODEL([
                    ['codformato', 'Formato', 100, { align: 'center'}],
                    ['snumorden', 'Orden', 100, { align: 'center'}],
                    ['sdocnumero', 'Suce', 100, { align: 'center'}],
                    ['numeexpediente', 'Nro Expediente', 100, { align: 'center'}],
                    ['solicitante', 'Solicitante', 250],
                    ['fechregistro', 'F. Registro', 80, { align: 'center'}],
                    ['nombact', 'Situación', 250],
                    ['estado', 'Estado', 100, { align: 'center'}],
                    ['responsable', 'Responsable', 250]
                ], { sortable: true }),
                dockedItems: [{
                    xtype: 'pagingtoolbar',
                    itemId: 'idPaginacion',
                    store: storeList,
                    dock: 'bottom',
                    displayInfo: true
                }
                ]
            });

            me.items = [north, me.gridHist];
            Ext.Panel.prototype.initComponent.call(me);
            me.form = form.form;
            storeList.on('beforeload', function (st, oper) {
                oper.params = me.form.getValues();
            }, me);
            me.on('afterrender', me.reload, me);
        },

        reload: function () {
            var me = this;
            me.gridHist.findDockedByItemId('idPaginacion').moveFirst();
        },

        jerarquia: function () {
            var me=this;
            d=GETSELECTED(me.gridHist);
            if (!d) return;
            d=d.data;
            if (d.codformato=='DGS008' || d.codformato=='DGS009' || d.codformato=='DGS005' || d.codformato=='DGS005-R' || d.codformato=='DGS006' || d.codformato=='DGS006-R' || d.codformato=='DGS007'){
                //Ext.Msg.alert('GESTOR SUCE','Mostrar la data');
                //var w=suce.jerarquia.view();                                
                //w.show(d);
                MyApp.createWindow('suce.jerarquia.view',  {idsolicitud : d.idsolicitud, idversion : d.idversion}, 'solicitud/jerarquia.js');
            }
            else
            {
                Ext.Msg.alert('GESTOR SUCE','Nada que mostrar');
            }

        },

        resumenSuce: function () {
            var w = suce.resumen.view(),
                me = this,
                r = GETSELECTED(me.gridHist);
            if (!r) return;
            w.show(r.data);
        },

        ver: function () {
            var me = this,
                d = GETSELECTED(me.gridHist);
            if (!d) return;
            //MyApp.createWindow('suce.solicitud.edit', { readOnly: true, idsolicitud: r.data.idsolicitud, idversion: r.data.idversion, numesolicitud: r.data.numesolicitud }, 'solicitud/solicitud-edit.js');

            d = d.data;


            if (d.codformato == 'DGS005-R') {
                MyApp.createWindow('suce.solicitud_dgs005r.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion//,
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs005r_solicitud-edit.js');
            }
            else if (d.codformato == 'DGS005') {
                MyApp.createWindow('suce.solicitud_dgs005.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion//,
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs005_solicitud-edit.js');
            }
            else if (d.codformato == 'DGS006') {
                MyApp.createWindow('suce.solicitud_dgs006.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion//,
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs006_solicitud-edit.js');
            }
            else if (d.codformato == 'DGS006-R') {
                MyApp.createWindow('suce.solicitud_dgs006r.edit', {
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion//,
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs006r_solicitud-edit.js');
            }
            else if (d.codformato == 'DGS007') {
                MyApp.createWindow('suce.solicitud_dgs007.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs007_solicitud-edit.js');
            }

            else if (d.codformato == 'DGS008') {
                MyApp.createWindow('suce.solicitud_dgs008.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs008_solicitud-edit.js');
            }

            else if (d.codformato == 'DGS009') {
                MyApp.createWindow('suce.solicitud_dgs009.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs009_solicitud-edit.js');
            }
            //modificado por CESAR BOCANEGRA
            else if (d.codformato == 'DGS002') {
                MyApp.createWindow('suce.solicitud_dgs002.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs002_solicitud-edit.js');
            }
            else if (d.codformato == 'DGS004') {
                MyApp.createWindow('suce.solicitud_dgs004.edit', {
                    readOnly: true,
                    idsolicitud: d.idsolicitud, fechregistro: d.fechregistro, numesolicitud: d.numorden, codformato: d.codformato, idversion: d.idversion, docnumero: d.sdocnumero, numeexpediente: d.numeexpediente, idflujo: d.idflujo, id: 'SOL-' + d.idsolicitud + '-' + d.idversion
                    //listeners: { scope: b, 'update': b.reload }
                }, 'solicitud/formato/dgs004_solicitud-edit.js');
            }

            else {
                Ext.Msg.message('FORMATO NO RECONOCIDO');
            }


        }

    }, config));
};
